package main

import (
	"fmt"
	"os"

	_ "gitee.com/xiaoa7/blevejiebaplugin"
	"github.com/blevesearch/bleve/v2"
)

func main() {
	indexMapping := bleve.NewIndexMapping()
	indexMapping.AddCustomTokenizer("jieba",
		map[string]interface{}{
			"dict": "../dict.txt",
			"type": "jieba",
		},
	)
	indexMapping.AddCustomAnalyzer("jieba",
		map[string]interface{}{
			"type":      "jieba",
			"tokenizer": "jieba",
		},
	)
	indexMapping.DefaultAnalyzer = "jieba"
	var INDEX_DIR = "./index.dir"
	var index bleve.Index
	var err error
	if _, err := os.Stat(INDEX_DIR); err != nil {
		index, _ = bleve.New(INDEX_DIR, indexMapping)
	} else {
		index, _ = bleve.Open(INDEX_DIR)
	}
	if err != nil {
		panic(err)
	}
	defer index.Close()
	index.Index("001", map[string]string{
		"title": "偷来的彩票中奖？中奖越多判得越重！",
		"content": `据绍兴市上虞警方公报，2月13日上午9时许，百官派出所接到辖区群众报警称，自己经营的彩票店被偷了，店里的彩票被洗劫一空。
		　　接报后，民警通过现场勘察、调取视频资料，他发现当日凌晨，两名年轻男子曾多次在彩票店门口徘徊，并通过暴力破锁方式进入店内，盗取了大量福彩即开票后，乘坐出租车逃离现场。
		　　“他们偷彩票的目的，就是为了换钱，所以一定会去兑奖。”顺着这条线索，民警通过一系列追踪、摸排，最终锁定嫌疑人毛某、郑某、凌某、江某、姜某等人员位置后，赴杭州开展抓捕，成功将该团伙一网打尽。`,
	})
	req := bleve.NewSearchRequest(bleve.NewQueryStringQuery("彩票"))
	req.Fields = []string{"title", "content"}
	req.Highlight = bleve.NewHighlight()
	req.Size = 10
	res, _ := index.Search(req)
	for _, r := range res.Hits {
		fmt.Println(r)
		fmt.Print(r.Index, r.ID, r.Fragments, r.Fields)
	}
}
